Isolation is a concept that has recently emerged in computer user interface technology. In this context, isolation refers to separating human factors and ergonomical aspects of an application (i.e., the user interface) from the functionality of the application itself. The idea of user interface builders is another important concept in this field that refers to reversing the traditional software development cycle of developing core application functionality before the user interface. Instead, the user interface is developed first. This allows human factors related to man-machine interfacing to be addressed independently of the application functionality. Many development tools are currently available that provide for convenient design of Graphical User Interfaces (GUIs) and easy integration with application software. These tools have proved to be a major step forward for GUI-based application design.
GUIs are traditionally based on a metaphor of a desktop model having various different kinds of documents. GUI applications create, modify, move, and copy these documents through point and click actions. The graphical user interface of an application include devices such as commands organized in menus and dialog boxes that contain visual controls such as buttons, sliders, text, panels, meters, etc. The desktop model metaphor has worked well with GUIs, but is not intuitive for spoken conversations.